package com.emm.yixun.system.service;
import javax.jws.WebService;

import com.emm.yixun.common.page.Page;
import com.emm.yixun.common.response.Response;
import com.emm.yixun.common.response.ResponseList;
import com.emm.yixun.common.model.UserToken;
import com.emm.yixun.common.model.dto.UserTokenDto;
@WebService
public interface UserTokenServiceFacade{
     	/**
	    *新增
	    */
		Response<UserTokenDto> save(UserTokenDto dto);
		
		/**
		*修改,当selective=true时修改非空列,当selective=false修改所有列
		*/
		Response<Integer> updateByPrimaryKey(UserTokenDto dto,Boolean selective);
		
		/**
		 *逻辑删除
		 */
		Response<Integer> deleteByPrimaryKey(Long id);
		
		/**
		 *主键查询
		 */
		Response<UserToken> findById(Long id);
		
		/**
		 *根据dto查询记录
		 */
		ResponseList<UserToken> findByDto(UserTokenDto dto);
		/**
		 *根据dto以及分页参数查询记录
		 */
		Page<UserToken> findPageByDto(UserTokenDto dto,Integer begin,Integer row);
		
		
		/**
		 *登陆保存用户token
		*/
		Response<Boolean> createUserToken(Long userId,Long merchantId);
		
		
		//根据用户ID判断是否需要重新登陆
		Response<Boolean> reLoginCheck(String userId);
		
		//根据角色ID写入重新登陆标示
		Response<Boolean> addReLogin(String roleId);
		
		//根据角色ID写入重新登陆标示
		Response<Boolean> addRoleAndUserLogin(String roleId, String userId);
		
		//根据用户ID移除重新登陆标示
		Response<Boolean> removeReLogin(String userId);
}
